<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>iicps: IICPS APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">iicps
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__iicps__api.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">IICPS APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the device.  <a href="struct_x_iic_ps___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_iic_ps.html">XIicPs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> driver instance data.  <a href="struct_x_iic_ps.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga27348268a3738fea6e82f6ba0845a11b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga27348268a3738fea6e82f6ba0845a11b">XIICPS_H</a></td></tr>
<tr class="memdesc:ga27348268a3738fea6e82f6ba0845a11b"><td class="mdescLeft">&#160;</td><td class="mdescRight">by using protection macros  <a href="#ga27348268a3738fea6e82f6ba0845a11b">More...</a><br/></td></tr>
<tr class="separator:ga27348268a3738fea6e82f6ba0845a11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80e3362dd68172d429bb9361768d09e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga80e3362dd68172d429bb9361768d09e7">SENDING_ROLE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga80e3362dd68172d429bb9361768d09e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">name Role constants  <a href="#ga80e3362dd68172d429bb9361768d09e7">More...</a><br/></td></tr>
<tr class="separator:ga80e3362dd68172d429bb9361768d09e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cfa5c76753b0658954c2c3dfec95d40"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga9cfa5c76753b0658954c2c3dfec95d40">RECVING_ROLE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga9cfa5c76753b0658954c2c3dfec95d40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer direction is receiving.  <a href="#ga9cfa5c76753b0658954c2c3dfec95d40">More...</a><br/></td></tr>
<tr class="separator:ga9cfa5c76753b0658954c2c3dfec95d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f509d74539ec1fa9580312e520ce0b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6f509d74539ec1fa9580312e520ce0b8">XIICPS_MAX_TRANSFER_SIZE</a>&#160;&#160;&#160;((u32)255U - (u32)3U)</td></tr>
<tr class="memdesc:ga6f509d74539ec1fa9580312e520ce0b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max transfer size.  <a href="#ga6f509d74539ec1fa9580312e520ce0b8">More...</a><br/></td></tr>
<tr class="separator:ga6f509d74539ec1fa9580312e520ce0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga479fe9cf74b161f574917ec20852ad1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga479fe9cf74b161f574917ec20852ad1c">XIicPs_SendByte</a>(InstancePtr)</td></tr>
<tr class="memdesc:ga479fe9cf74b161f574917ec20852ad1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Place one byte into the transmit FIFO.  <a href="#ga479fe9cf74b161f574917ec20852ad1c">More...</a><br/></td></tr>
<tr class="separator:ga479fe9cf74b161f574917ec20852ad1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga432020341d6b2c06bba8a084df9b5075"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga432020341d6b2c06bba8a084df9b5075">XIicPs_RecvByte</a>(InstancePtr)</td></tr>
<tr class="memdesc:ga432020341d6b2c06bba8a084df9b5075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive one byte from FIFO.  <a href="#ga432020341d6b2c06bba8a084df9b5075">More...</a><br/></td></tr>
<tr class="separator:ga432020341d6b2c06bba8a084df9b5075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga985ef58212940c666ada245d3e83a17d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga985ef58212940c666ada245d3e83a17d">XIICPS_HW_H</a></td></tr>
<tr class="memdesc:ga985ef58212940c666ada245d3e83a17d"><td class="mdescLeft">&#160;</td><td class="mdescRight">by using protection macros  <a href="#ga985ef58212940c666ada245d3e83a17d">More...</a><br/></td></tr>
<tr class="separator:ga985ef58212940c666ada245d3e83a17d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcc20fce80c1e8dff27be4e584c2cc27"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>(BaseAddress, RegOffset)&#160;&#160;&#160;XIicPs_In32((BaseAddress) + (u32)(RegOffset))</td></tr>
<tr class="memdesc:gabcc20fce80c1e8dff27be4e584c2cc27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads an IIC register.  <a href="#gabcc20fce80c1e8dff27be4e584c2cc27">More...</a><br/></td></tr>
<tr class="separator:gabcc20fce80c1e8dff27be4e584c2cc27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0bde6894589023ea8248a9d9cdc73c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>(BaseAddress, RegOffset, RegisterValue)&#160;&#160;&#160;XIicPs_Out32((BaseAddress) + (u32)(RegOffset), (u32)(RegisterValue))</td></tr>
<tr class="memdesc:gaa0bde6894589023ea8248a9d9cdc73c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an IIC register.  <a href="#gaa0bde6894589023ea8248a9d9cdc73c5">More...</a><br/></td></tr>
<tr class="separator:gaa0bde6894589023ea8248a9d9cdc73c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8f0f78d7389924d17d2b7b49f622cf1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab8f0f78d7389924d17d2b7b49f622cf1">XIicPs_ReadIER</a>(BaseAddress)&#160;&#160;&#160;<a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>((BaseAddress),  <a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>)</td></tr>
<tr class="memdesc:gab8f0f78d7389924d17d2b7b49f622cf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the interrupt enable register.  <a href="#gab8f0f78d7389924d17d2b7b49f622cf1">More...</a><br/></td></tr>
<tr class="separator:gab8f0f78d7389924d17d2b7b49f622cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7a3f4b57fe275f426ac9b771b187b23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>(BaseAddress, IntrMask)&#160;&#160;&#160;<a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>((BaseAddress), <a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>, (IntrMask))</td></tr>
<tr class="memdesc:gaf7a3f4b57fe275f426ac9b771b187b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to the interrupt enable register.  <a href="#gaf7a3f4b57fe275f426ac9b771b187b23">More...</a><br/></td></tr>
<tr class="separator:gaf7a3f4b57fe275f426ac9b771b187b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90efda2a784d4b972f1835b0ba81cde1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga90efda2a784d4b972f1835b0ba81cde1">XIicPs_DisableAllInterrupts</a>(BaseAddress)</td></tr>
<tr class="memdesc:ga90efda2a784d4b972f1835b0ba81cde1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables all interrupts.  <a href="#ga90efda2a784d4b972f1835b0ba81cde1">More...</a><br/></td></tr>
<tr class="separator:ga90efda2a784d4b972f1835b0ba81cde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a21536b3361fa36f00745a3e653fbbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6a21536b3361fa36f00745a3e653fbbd">XIicPs_DisableInterrupts</a>(BaseAddress, IntrMask)</td></tr>
<tr class="memdesc:ga6a21536b3361fa36f00745a3e653fbbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables selected interrupts.  <a href="#ga6a21536b3361fa36f00745a3e653fbbd">More...</a><br/></td></tr>
<tr class="separator:ga6a21536b3361fa36f00745a3e653fbbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15d5d2b9d158b3b550f7202d17bb8831"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga15d5d2b9d158b3b550f7202d17bb8831">TX_MAX_LOOPCNT</a>&#160;&#160;&#160;1000000U</td></tr>
<tr class="memdesc:ga15d5d2b9d158b3b550f7202d17bb8831"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to wait in polled function.  <a href="#ga15d5d2b9d158b3b550f7202d17bb8831">More...</a><br/></td></tr>
<tr class="separator:ga15d5d2b9d158b3b550f7202d17bb8831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7835042cdace3ed1433a81d373d92da7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga7835042cdace3ed1433a81d373d92da7">XIICPS_NUM_OPTIONS</a>&#160;&#160;&#160;(sizeof(OptionsTable) / sizeof(OptionsMap))</td></tr>
<tr class="memdesc:ga7835042cdace3ed1433a81d373d92da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculated no.  <a href="#ga7835042cdace3ed1433a81d373d92da7">More...</a><br/></td></tr>
<tr class="separator:ga7835042cdace3ed1433a81d373d92da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1711ee48cbfe0d2c99cb7d14a52edaeb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga1711ee48cbfe0d2c99cb7d14a52edaeb">REG_TEST_VALUE</a>&#160;&#160;&#160;0x00000005U</td></tr>
<tr class="memdesc:ga1711ee48cbfe0d2c99cb7d14a52edaeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register value to write.  <a href="#ga1711ee48cbfe0d2c99cb7d14a52edaeb">More...</a><br/></td></tr>
<tr class="separator:ga1711ee48cbfe0d2c99cb7d14a52edaeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gad5b508fb2987b4bf23a840389450deef"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gad5b508fb2987b4bf23a840389450deef">XIicPs_IntrHandler</a> )(void *CallBackRef, u32 StatusEvent)</td></tr>
<tr class="memdesc:gad5b508fb2987b4bf23a840389450deef"><td class="mdescLeft">&#160;</td><td class="mdescRight">The handler data type allows the user to define a callback function to respond to interrupt events in the system.  <a href="#gad5b508fb2987b4bf23a840389450deef">More...</a><br/></td></tr>
<tr class="separator:gad5b508fb2987b4bf23a840389450deef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga14c7ff4f51185d8aab0028c0eeb3c336"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga14c7ff4f51185d8aab0028c0eeb3c336">XIicPs_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga14c7ff4f51185d8aab0028c0eeb3c336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for configuration lookup, in <a class="el" href="xiicps__sinit_8c.html">xiicps_sinit.c</a>.  <a href="#ga14c7ff4f51185d8aab0028c0eeb3c336">More...</a><br/></td></tr>
<tr class="separator:ga14c7ff4f51185d8aab0028c0eeb3c336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2581047e7d5607fe96fe0dac9673527"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab2581047e7d5607fe96fe0dac9673527">XIicPs_SetStatusHandler</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, void *CallBackRef, <a class="el" href="group__iicps__api.html#gad5b508fb2987b4bf23a840389450deef">XIicPs_IntrHandler</a> FunctionPtr)</td></tr>
<tr class="memdesc:gab2581047e7d5607fe96fe0dac9673527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for interrupts, in <a class="el" href="xiicps__intr_8c.html">xiicps_intr.c</a>.  <a href="#gab2581047e7d5607fe96fe0dac9673527">More...</a><br/></td></tr>
<tr class="separator:gab2581047e7d5607fe96fe0dac9673527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f9db7651cd6ee0232dc9fdaca3f976a"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga6f9db7651cd6ee0232dc9fdaca3f976a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for selftest, in <a class="el" href="xiicps__selftest_8c.html">xiicps_selftest.c</a>.  <a href="#ga6f9db7651cd6ee0232dc9fdaca3f976a">More...</a><br/></td></tr>
<tr class="separator:ga6f9db7651cd6ee0232dc9fdaca3f976a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga935187507d0449da043070029b9b7d25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw</a> (UINTPTR BaseAddress)</td></tr>
<tr class="memdesc:ga935187507d0449da043070029b9b7d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs the reset sequence to the given I2c interface by configuring the appropriate control bits in the I2c specific registers the i2cps reset sequence involves the following steps Disable all the interrupts Clear the status Clear FIFO's and disable hold bit Clear the line status Update relevant configuration registers with reset values.  <a href="#ga935187507d0449da043070029b9b7d25">More...</a><br/></td></tr>
<tr class="separator:ga935187507d0449da043070029b9b7d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4873151354658814e3e28681540a009"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, s32 IsHold, s32 *ByteCntPtr)</td></tr>
<tr class="memdesc:gab4873151354658814e3e28681540a009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives data byte by byte till Rx data is valid in interrupt master mode.  <a href="#gab4873151354658814e3e28681540a009">More...</a><br/></td></tr>
<tr class="separator:gab4873151354658814e3e28681540a009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4edada5e6ef2c6e9a986489a54604b3"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, s32 Role)</td></tr>
<tr class="memdesc:gab4edada5e6ef2c6e9a986489a54604b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function prepares a device to transfers as a master.  <a href="#gab4edada5e6ef2c6e9a986489a54604b3">More...</a><br/></td></tr>
<tr class="separator:gab4edada5e6ef2c6e9a986489a54604b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf87bf18c36aebe9840bae9102c10572b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaf87bf18c36aebe9840bae9102c10572b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function handles continuation of sending data.  <a href="#gaf87bf18c36aebe9840bae9102c10572b">More...</a><br/></td></tr>
<tr class="separator:gaf87bf18c36aebe9840bae9102c10572b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec237d71613a20b823bb60d522fe0a4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, s32 IsHold, s32 ByteCountVar)</td></tr>
<tr class="memdesc:gaec237d71613a20b823bb60d522fe0a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles polled mode receive in master mode.  <a href="#gaec237d71613a20b823bb60d522fe0a4b">More...</a><br/></td></tr>
<tr class="separator:gaec237d71613a20b823bb60d522fe0a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae27f80d47ab655d8861b176ce0b57916"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gae27f80d47ab655d8861b176ce0b57916">XIicPs_MasterIntrSend</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u32 IntrStatusReg, u32 *StatusEventPtr)</td></tr>
<tr class="memdesc:gae27f80d47ab655d8861b176ce0b57916"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles interrupt-driven send in master mode.  <a href="#gae27f80d47ab655d8861b176ce0b57916">More...</a><br/></td></tr>
<tr class="separator:gae27f80d47ab655d8861b176ce0b57916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabaf5959c99fcfbbe368fa0a670347c69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u32 *IntrStatusRegPtr, s32 IsHold)</td></tr>
<tr class="memdesc:gabaf5959c99fcfbbe368fa0a670347c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles interrupt-driven receive in master mode.  <a href="#gabaf5959c99fcfbbe368fa0a670347c69">More...</a><br/></td></tr>
<tr class="separator:gabaf5959c99fcfbbe368fa0a670347c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15d33ac37a7293a75df5ac07a2eb4e37"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga15d33ac37a7293a75df5ac07a2eb4e37">SlaveRecvData</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga15d33ac37a7293a75df5ac07a2eb4e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the continuation of receiving data.  <a href="#ga15d33ac37a7293a75df5ac07a2eb4e37">More...</a><br/></td></tr>
<tr class="separator:ga15d33ac37a7293a75df5ac07a2eb4e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga549d334ca8efcb3b3152a86807dea92d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga549d334ca8efcb3b3152a86807dea92d">XIicPs_ConfigTable</a> []</td></tr>
<tr class="memdesc:ga549d334ca8efcb3b3152a86807dea92d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration table.  <a href="#ga549d334ca8efcb3b3152a86807dea92d">More...</a><br/></td></tr>
<tr class="separator:ga549d334ca8efcb3b3152a86807dea92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11a983ef1b7318339618ff352e81bb2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga11a983ef1b7318339618ff352e81bb2e">XIicPs_ConfigTable</a> [XPAR_XIICPS_NUM_INSTANCES]</td></tr>
<tr class="memdesc:ga11a983ef1b7318339618ff352e81bb2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This table contains configuration information for each IIC device in the system.  <a href="#ga11a983ef1b7318339618ff352e81bb2e">More...</a><br/></td></tr>
<tr class="separator:ga11a983ef1b7318339618ff352e81bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Configuration options</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp50f33d14f129e4548c1c270fd6725a78"></a>The following options may be specified or retrieved for the device and enable/disable additional features of the IIC.</p>
<p>Each of the options are bit fields, so more than one may be specified. </p>
</td></tr>
<tr class="memitem:gabaf93558635651b401ca9404cc777d73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gabaf93558635651b401ca9404cc777d73">XIICPS_7_BIT_ADDR_OPTION</a>&#160;&#160;&#160;0x01U</td></tr>
<tr class="memdesc:gabaf93558635651b401ca9404cc777d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">7-bit address mode  <a href="#gabaf93558635651b401ca9404cc777d73">More...</a><br/></td></tr>
<tr class="separator:gabaf93558635651b401ca9404cc777d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4057e55c42ab0d06b32c55d5e67e0029"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga4057e55c42ab0d06b32c55d5e67e0029">XIICPS_10_BIT_ADDR_OPTION</a>&#160;&#160;&#160;0x02U</td></tr>
<tr class="memdesc:ga4057e55c42ab0d06b32c55d5e67e0029"><td class="mdescLeft">&#160;</td><td class="mdescRight">10-bit address mode  <a href="#ga4057e55c42ab0d06b32c55d5e67e0029">More...</a><br/></td></tr>
<tr class="separator:ga4057e55c42ab0d06b32c55d5e67e0029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7748c81bca2cc231cba3fa780530d95a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga7748c81bca2cc231cba3fa780530d95a">XIICPS_SLAVE_MON_OPTION</a>&#160;&#160;&#160;0x04U</td></tr>
<tr class="memdesc:ga7748c81bca2cc231cba3fa780530d95a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave monitor mode.  <a href="#ga7748c81bca2cc231cba3fa780530d95a">More...</a><br/></td></tr>
<tr class="separator:ga7748c81bca2cc231cba3fa780530d95a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga820f2cd7e2c7b77b9b5966e87eae2c09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga820f2cd7e2c7b77b9b5966e87eae2c09">XIICPS_REP_START_OPTION</a>&#160;&#160;&#160;0x08U</td></tr>
<tr class="memdesc:ga820f2cd7e2c7b77b9b5966e87eae2c09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Repeated Start.  <a href="#ga820f2cd7e2c7b77b9b5966e87eae2c09">More...</a><br/></td></tr>
<tr class="separator:ga820f2cd7e2c7b77b9b5966e87eae2c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Callback events</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpc478b096d0c15f7e00fb1b0587e19c87"></a>These constants specify the handler events that are passed to an application event handler from the driver.</p>
<p>These constants are bit masks such that more than one event can be passed to the handler. </p>
</td></tr>
<tr class="memitem:ga1646c08302f01007599cd95721006d35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga1646c08302f01007599cd95721006d35">XIICPS_EVENT_COMPLETE_SEND</a>&#160;&#160;&#160;0x0001U</td></tr>
<tr class="memdesc:ga1646c08302f01007599cd95721006d35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit Complete Event.  <a href="#ga1646c08302f01007599cd95721006d35">More...</a><br/></td></tr>
<tr class="separator:ga1646c08302f01007599cd95721006d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6aa923029f051dc7a1f8db08cd8691ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6aa923029f051dc7a1f8db08cd8691ff">XIICPS_EVENT_COMPLETE_RECV</a>&#160;&#160;&#160;0x0002U</td></tr>
<tr class="memdesc:ga6aa923029f051dc7a1f8db08cd8691ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive Complete Event.  <a href="#ga6aa923029f051dc7a1f8db08cd8691ff">More...</a><br/></td></tr>
<tr class="separator:ga6aa923029f051dc7a1f8db08cd8691ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1ed271a1272c5c85d84f4b71b740dfb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab1ed271a1272c5c85d84f4b71b740dfb">XIICPS_EVENT_TIME_OUT</a>&#160;&#160;&#160;0x0004U</td></tr>
<tr class="memdesc:gab1ed271a1272c5c85d84f4b71b740dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer timed out.  <a href="#gab1ed271a1272c5c85d84f4b71b740dfb">More...</a><br/></td></tr>
<tr class="separator:gab1ed271a1272c5c85d84f4b71b740dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60331546be6cd538df23e7ca3e1789fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga60331546be6cd538df23e7ca3e1789fa">XIICPS_EVENT_ERROR</a>&#160;&#160;&#160;0x0008U</td></tr>
<tr class="memdesc:ga60331546be6cd538df23e7ca3e1789fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive error.  <a href="#ga60331546be6cd538df23e7ca3e1789fa">More...</a><br/></td></tr>
<tr class="separator:ga60331546be6cd538df23e7ca3e1789fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab784c2ba84387c6a91b0f279065bf396"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gab784c2ba84387c6a91b0f279065bf396">XIICPS_EVENT_ARB_LOST</a>&#160;&#160;&#160;0x0010U</td></tr>
<tr class="memdesc:gab784c2ba84387c6a91b0f279065bf396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arbitration lost.  <a href="#gab784c2ba84387c6a91b0f279065bf396">More...</a><br/></td></tr>
<tr class="separator:gab784c2ba84387c6a91b0f279065bf396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad72c8977f9bab033f2c393d24a70d5be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gad72c8977f9bab033f2c393d24a70d5be">XIICPS_EVENT_NACK</a>&#160;&#160;&#160;0x0020U</td></tr>
<tr class="memdesc:gad72c8977f9bab033f2c393d24a70d5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">NACK Received.  <a href="#gad72c8977f9bab033f2c393d24a70d5be">More...</a><br/></td></tr>
<tr class="separator:gad72c8977f9bab033f2c393d24a70d5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga71fcc8f7c4ee01454f8260667f30ed71"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga71fcc8f7c4ee01454f8260667f30ed71">XIICPS_EVENT_SLAVE_RDY</a>&#160;&#160;&#160;0x0040U</td></tr>
<tr class="memdesc:ga71fcc8f7c4ee01454f8260667f30ed71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave ready.  <a href="#ga71fcc8f7c4ee01454f8260667f30ed71">More...</a><br/></td></tr>
<tr class="separator:ga71fcc8f7c4ee01454f8260667f30ed71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga209dc1a98260b84e648df54ba923fc81"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga209dc1a98260b84e648df54ba923fc81">XIICPS_EVENT_RX_OVR</a>&#160;&#160;&#160;0x0080U</td></tr>
<tr class="memdesc:ga209dc1a98260b84e648df54ba923fc81"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX overflow.  <a href="#ga209dc1a98260b84e648df54ba923fc81">More...</a><br/></td></tr>
<tr class="separator:ga209dc1a98260b84e648df54ba923fc81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga809489609a6aabd5fd53c0242a565e59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga809489609a6aabd5fd53c0242a565e59">XIICPS_EVENT_TX_OVR</a>&#160;&#160;&#160;0x0100U</td></tr>
<tr class="memdesc:ga809489609a6aabd5fd53c0242a565e59"><td class="mdescLeft">&#160;</td><td class="mdescRight">TX overflow.  <a href="#ga809489609a6aabd5fd53c0242a565e59">More...</a><br/></td></tr>
<tr class="separator:ga809489609a6aabd5fd53c0242a565e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac593e16a56addd3ff460a40ff04e1ed4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gac593e16a56addd3ff460a40ff04e1ed4">XIICPS_EVENT_RX_UNF</a>&#160;&#160;&#160;0x0200U</td></tr>
<tr class="memdesc:gac593e16a56addd3ff460a40ff04e1ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">RX underflow.  <a href="#gac593e16a56addd3ff460a40ff04e1ed4">More...</a><br/></td></tr>
<tr class="separator:gac593e16a56addd3ff460a40ff04e1ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae97ad9c202953c7e49bfb56533c47079"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gae97ad9c202953c7e49bfb56533c47079">XIicPs_CfgInitialize</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, <a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
<tr class="memdesc:gae97ad9c202953c7e49bfb56533c47079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a specific <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance so that the driver is ready to use.  <a href="#gae97ad9c202953c7e49bfb56533c47079">More...</a><br/></td></tr>
<tr class="separator:gae97ad9c202953c7e49bfb56533c47079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b67ad96b8c40bdd47c2c2f8a57f170c"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga5b67ad96b8c40bdd47c2c2f8a57f170c">XIicPs_BusIsBusy</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga5b67ad96b8c40bdd47c2c2f8a57f170c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks the availability of the I2C bus.  <a href="#ga5b67ad96b8c40bdd47c2c2f8a57f170c">More...</a><br/></td></tr>
<tr class="separator:ga5b67ad96b8c40bdd47c2c2f8a57f170c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3eaa694ecd774beca05bf79c1f9df6c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga3eaa694ecd774beca05bf79c1f9df6c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts a transfer in progress by resetting the FIFOs.  <a href="#ga3eaa694ecd774beca05bf79c1f9df6c0">More...</a><br/></td></tr>
<tr class="separator:ga3eaa694ecd774beca05bf79c1f9df6c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfb0d8f18f8105db7708669ddb186e19"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gacfb0d8f18f8105db7708669ddb186e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts more data into the transmit FIFO.  <a href="#gacfb0d8f18f8105db7708669ddb186e19">More...</a><br/></td></tr>
<tr class="separator:gacfb0d8f18f8105db7708669ddb186e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1169a92eb8594d6f038816b5740916f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga1169a92eb8594d6f038816b5740916f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the IIC device.  <a href="#ga1169a92eb8594d6f038816b5740916f7">More...</a><br/></td></tr>
<tr class="separator:ga1169a92eb8594d6f038816b5740916f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3027c1eb6ece3193a978a2da8e06c011"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount, u16 SlaveAddr)</td></tr>
<tr class="memdesc:ga3027c1eb6ece3193a978a2da8e06c011"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for device as master, in <a class="el" href="xiicps__master_8c.html">xiicps_master.c</a>.  <a href="#ga3027c1eb6ece3193a978a2da8e06c011">More...</a><br/></td></tr>
<tr class="separator:ga3027c1eb6ece3193a978a2da8e06c011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4817f45c28341cea4ab8960dc1203acb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount, u16 SlaveAddr)</td></tr>
<tr class="memdesc:ga4817f45c28341cea4ab8960dc1203acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates an interrupt-driven receive in master mode.  <a href="#ga4817f45c28341cea4ab8960dc1203acb">More...</a><br/></td></tr>
<tr class="separator:ga4817f45c28341cea4ab8960dc1203acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga71584f1a7e675cde41cfd9d1bd4320b4"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount, u16 SlaveAddr)</td></tr>
<tr class="memdesc:ga71584f1a7e675cde41cfd9d1bd4320b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a polled mode send in master mode.  <a href="#ga71584f1a7e675cde41cfd9d1bd4320b4">More...</a><br/></td></tr>
<tr class="separator:ga71584f1a7e675cde41cfd9d1bd4320b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21bdb2f8a1f09e027aa8b0e9d6648d75"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount, u16 SlaveAddr)</td></tr>
<tr class="memdesc:ga21bdb2f8a1f09e027aa8b0e9d6648d75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a polled mode receive in master mode.  <a href="#ga21bdb2f8a1f09e027aa8b0e9d6648d75">More...</a><br/></td></tr>
<tr class="separator:ga21bdb2f8a1f09e027aa8b0e9d6648d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga597faa64ccaf3d8034e3e92989048f06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u16 SlaveAddr)</td></tr>
<tr class="memdesc:ga597faa64ccaf3d8034e3e92989048f06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the slave monitor mode.  <a href="#ga597faa64ccaf3d8034e3e92989048f06">More...</a><br/></td></tr>
<tr class="separator:ga597faa64ccaf3d8034e3e92989048f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15f2e8071ff8d8e1ec1dc56d29ab202b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga15f2e8071ff8d8e1ec1dc56d29ab202b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables slave monitor mode.  <a href="#ga15f2e8071ff8d8e1ec1dc56d29ab202b">More...</a><br/></td></tr>
<tr class="separator:ga15f2e8071ff8d8e1ec1dc56d29ab202b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad64f0389aa694ecf21ca8a39e44cf13f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gad64f0389aa694ecf21ca8a39e44cf13f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interrupt handler for the master mode.  <a href="#gad64f0389aa694ecf21ca8a39e44cf13f">More...</a><br/></td></tr>
<tr class="separator:gad64f0389aa694ecf21ca8a39e44cf13f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6767d795533c56b3bc6ad08354c3acb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6767d795533c56b3bc6ad08354c3acb1">XIicPsSclHold</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:ga6767d795533c56b3bc6ad08354c3acb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/Disables clock stretching (SCL HOLD).  <a href="#ga6767d795533c56b3bc6ad08354c3acb1">More...</a><br/></td></tr>
<tr class="separator:ga6767d795533c56b3bc6ad08354c3acb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69c3112248f1ef2bda7a07f7724bcde9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga69c3112248f1ef2bda7a07f7724bcde9">XIicPsSetTimeOut</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 Value)</td></tr>
<tr class="memdesc:ga69c3112248f1ef2bda7a07f7724bcde9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the timeout value.  <a href="#ga69c3112248f1ef2bda7a07f7724bcde9">More...</a><br/></td></tr>
<tr class="separator:ga69c3112248f1ef2bda7a07f7724bcde9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1c7ffa09df93fb59f97b0a3bf5baaa7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gad1c7ffa09df93fb59f97b0a3bf5baaa7">XIicPs_SetupSlave</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u16 SlaveAddr)</td></tr>
<tr class="memdesc:gad1c7ffa09df93fb59f97b0a3bf5baaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for device as slave, in <a class="el" href="xiicps__slave_8c.html">xiicps_slave.c</a>.  <a href="#gad1c7ffa09df93fb59f97b0a3bf5baaa7">More...</a><br/></td></tr>
<tr class="separator:gad1c7ffa09df93fb59f97b0a3bf5baaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4478d1d94f349deda02c0191a7529113"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount)</td></tr>
<tr class="memdesc:ga4478d1d94f349deda02c0191a7529113"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up a slave interrupt-driven send.  <a href="#ga4478d1d94f349deda02c0191a7529113">More...</a><br/></td></tr>
<tr class="separator:ga4478d1d94f349deda02c0191a7529113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1840936a940459c5a71858f94915f933"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount)</td></tr>
<tr class="memdesc:ga1840936a940459c5a71858f94915f933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up a slave interrupt-driven receive.  <a href="#ga1840936a940459c5a71858f94915f933">More...</a><br/></td></tr>
<tr class="separator:ga1840936a940459c5a71858f94915f933"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ca49d9131b13d66f58de0b5a23faea4"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount)</td></tr>
<tr class="memdesc:ga5ca49d9131b13d66f58de0b5a23faea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a buffer in polled mode as a slave.  <a href="#ga5ca49d9131b13d66f58de0b5a23faea4">More...</a><br/></td></tr>
<tr class="separator:ga5ca49d9131b13d66f58de0b5a23faea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74b0af9e4395c8de724dc377e3504d0d"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u8 *MsgPtr, s32 ByteCount)</td></tr>
<tr class="memdesc:ga74b0af9e4395c8de724dc377e3504d0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a buffer in polled mode as a slave.  <a href="#ga74b0af9e4395c8de724dc377e3504d0d">More...</a><br/></td></tr>
<tr class="separator:ga74b0af9e4395c8de724dc377e3504d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga716cdb9f63e56269824866872958dd78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga716cdb9f63e56269824866872958dd78"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interrupt handler for slave mode.  <a href="#ga716cdb9f63e56269824866872958dd78">More...</a><br/></td></tr>
<tr class="separator:ga716cdb9f63e56269824866872958dd78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec1dc5be2be8a7394263cfe56af976c5"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u32 Options)</td></tr>
<tr class="memdesc:gaec1dc5be2be8a7394263cfe56af976c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for setting and getting data rate, in <a class="el" href="xiicps__options_8c.html">xiicps_options.c</a>.  <a href="#gaec1dc5be2be8a7394263cfe56af976c5">More...</a><br/></td></tr>
<tr class="separator:gaec1dc5be2be8a7394263cfe56af976c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87cbf2622a9c6ad66b18d4c3f9575a76"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u32 Options)</td></tr>
<tr class="memdesc:ga87cbf2622a9c6ad66b18d4c3f9575a76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the options for the IIC device driver.  <a href="#ga87cbf2622a9c6ad66b18d4c3f9575a76">More...</a><br/></td></tr>
<tr class="separator:ga87cbf2622a9c6ad66b18d4c3f9575a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20964e35a74f4e16f90e78510c9b4337"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga20964e35a74f4e16f90e78510c9b4337"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the options for the IIC device.  <a href="#ga20964e35a74f4e16f90e78510c9b4337">More...</a><br/></td></tr>
<tr class="separator:ga20964e35a74f4e16f90e78510c9b4337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb24cfdacf6cf28d80126862dc1cfbe5"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gafb24cfdacf6cf28d80126862dc1cfbe5">XIicPs_SetSClk</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr, u32 FsclHz)</td></tr>
<tr class="memdesc:gafb24cfdacf6cf28d80126862dc1cfbe5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the serial clock rate for the IIC device.  <a href="#gafb24cfdacf6cf28d80126862dc1cfbe5">More...</a><br/></td></tr>
<tr class="separator:gafb24cfdacf6cf28d80126862dc1cfbe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f2d2d3d11c2c9125a5bc8a0d95593cb"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga9f2d2d3d11c2c9125a5bc8a0d95593cb">XIicPs_GetSClk</a> (<a class="el" href="struct_x_iic_ps.html">XIicPs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga9f2d2d3d11c2c9125a5bc8a0d95593cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the serial clock rate for the IIC device.  <a href="#ga9f2d2d3d11c2c9125a5bc8a0d95593cb">More...</a><br/></td></tr>
<tr class="separator:ga9f2d2d3d11c2c9125a5bc8a0d95593cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Register Map</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp092729737d14686054aa21531a3582c6"></a>Register offsets for the IIC. </p>
</td></tr>
<tr class="memitem:ga0c96ab97015c857822df599608ba9c10"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="memdesc:ga0c96ab97015c857822df599608ba9c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">32-bit Control  <a href="#ga0c96ab97015c857822df599608ba9c10">More...</a><br/></td></tr>
<tr class="separator:ga0c96ab97015c857822df599608ba9c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12b4d0ee4dce6172ba78a0dec5666a72"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>&#160;&#160;&#160;0x04U</td></tr>
<tr class="memdesc:ga12b4d0ee4dce6172ba78a0dec5666a72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status.  <a href="#ga12b4d0ee4dce6172ba78a0dec5666a72">More...</a><br/></td></tr>
<tr class="separator:ga12b4d0ee4dce6172ba78a0dec5666a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d97551edd7013b07093cac16dbe80f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>&#160;&#160;&#160;0x08U</td></tr>
<tr class="memdesc:ga3d97551edd7013b07093cac16dbe80f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">IIC Address.  <a href="#ga3d97551edd7013b07093cac16dbe80f1">More...</a><br/></td></tr>
<tr class="separator:ga3d97551edd7013b07093cac16dbe80f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9101ca416d8b9e303b4a65c4840a1d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a>&#160;&#160;&#160;0x0CU</td></tr>
<tr class="memdesc:gac9101ca416d8b9e303b4a65c4840a1d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">IIC FIFO Data.  <a href="#gac9101ca416d8b9e303b4a65c4840a1d5">More...</a><br/></td></tr>
<tr class="separator:gac9101ca416d8b9e303b4a65c4840a1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ec604e5ed330606d24a082484e905f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="memdesc:ga9ec604e5ed330606d24a082484e905f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Status.  <a href="#ga9ec604e5ed330606d24a082484e905f0">More...</a><br/></td></tr>
<tr class="separator:ga9ec604e5ed330606d24a082484e905f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2afdc061285f0155f3fbbf322beae54f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>&#160;&#160;&#160;0x14U</td></tr>
<tr class="memdesc:ga2afdc061285f0155f3fbbf322beae54f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer Size.  <a href="#ga2afdc061285f0155f3fbbf322beae54f">More...</a><br/></td></tr>
<tr class="separator:ga2afdc061285f0155f3fbbf322beae54f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3750481db8ebadadea48985f0abcb755"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga3750481db8ebadadea48985f0abcb755">XIICPS_SLV_PAUSE_OFFSET</a>&#160;&#160;&#160;0x18U</td></tr>
<tr class="memdesc:ga3750481db8ebadadea48985f0abcb755"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave monitor pause.  <a href="#ga3750481db8ebadadea48985f0abcb755">More...</a><br/></td></tr>
<tr class="separator:ga3750481db8ebadadea48985f0abcb755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61f5015241d07352f5cad00c589ec4e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga61f5015241d07352f5cad00c589ec4e0">XIICPS_TIME_OUT_OFFSET</a>&#160;&#160;&#160;0x1CU</td></tr>
<tr class="memdesc:ga61f5015241d07352f5cad00c589ec4e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time Out.  <a href="#ga61f5015241d07352f5cad00c589ec4e0">More...</a><br/></td></tr>
<tr class="separator:ga61f5015241d07352f5cad00c589ec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0668ec3389dd427fecfca4d1b9d2f0c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga0668ec3389dd427fecfca4d1b9d2f0c4">XIICPS_IMR_OFFSET</a>&#160;&#160;&#160;0x20U</td></tr>
<tr class="memdesc:ga0668ec3389dd427fecfca4d1b9d2f0c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Enabled Mask.  <a href="#ga0668ec3389dd427fecfca4d1b9d2f0c4">More...</a><br/></td></tr>
<tr class="separator:ga0668ec3389dd427fecfca4d1b9d2f0c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga471cbaf2444941e33de173ea5e5c7f03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>&#160;&#160;&#160;0x24U</td></tr>
<tr class="memdesc:ga471cbaf2444941e33de173ea5e5c7f03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Enable.  <a href="#ga471cbaf2444941e33de173ea5e5c7f03">More...</a><br/></td></tr>
<tr class="separator:ga471cbaf2444941e33de173ea5e5c7f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac95b4e2bd04257b322e5bf66f956bdf3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>&#160;&#160;&#160;0x28U</td></tr>
<tr class="memdesc:gac95b4e2bd04257b322e5bf66f956bdf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt Disable.  <a href="#gac95b4e2bd04257b322e5bf66f956bdf3">More...</a><br/></td></tr>
<tr class="separator:gac95b4e2bd04257b322e5bf66f956bdf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
IIC Interrupt Registers</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp0064b81699e38d85fbdab106230ad973"></a><b>IIC Interrupt Status Register</b></p>
<p>This register holds the interrupt status flags for the IIC controller. Some of the flags are level triggered</p>
<ul>
<li>i.e. are set as long as the interrupt condition exists. Other flags are edge triggered, which means they are set one the interrupt condition occurs then remain set until they are cleared by software. The interrupts are cleared by writing a one to the interrupt bit position in the Interrupt Status Register. Read/Write.</li>
</ul>
<p><b>IIC Interrupt Enable Register</b></p>
<p>This register is used to enable interrupt sources for the IIC controller. Writing a '1' to a bit in this register clears the corresponding bit in the IIC Interrupt Mask register. Write only.</p>
<p><b>IIC Interrupt Disable Register </b></p>
<p>This register is used to disable interrupt sources for the IIC controller. Writing a '1' to a bit in this register sets the corresponding bit in the IIC Interrupt Mask register. Write only.</p>
<p><b>IIC Interrupt Mask Register</b></p>
<p>This register shows the enabled/disabled status of each IIC controller interrupt source. A bit set to 1 will ignore the corresponding interrupt in the status register. A bit set to 0 means the interrupt is enabled. All mask bits are set and all interrupts are disabled after reset. Read only.</p>
<p>All four registers have the same bit definitions. They are only defined once for each of the Interrupt Enable Register, Interrupt Disable Register, Interrupt Mask Register, and Interrupt Status Register </p>
</td></tr>
<tr class="memitem:ga88441aea66e1ef8f1fd211756b1d1630"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>&#160;&#160;&#160;0x00000200U</td></tr>
<tr class="memdesc:ga88441aea66e1ef8f1fd211756b1d1630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arbitration Lost Interrupt mask.  <a href="#ga88441aea66e1ef8f1fd211756b1d1630">More...</a><br/></td></tr>
<tr class="separator:ga88441aea66e1ef8f1fd211756b1d1630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b92f85baedcc73892a141f80afe3462"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>&#160;&#160;&#160;0x00000080U</td></tr>
<tr class="memdesc:ga6b92f85baedcc73892a141f80afe3462"><td class="mdescLeft">&#160;</td><td class="mdescRight">FIFO Receive Underflow Interrupt mask.  <a href="#ga6b92f85baedcc73892a141f80afe3462">More...</a><br/></td></tr>
<tr class="separator:ga6b92f85baedcc73892a141f80afe3462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2473caf4558fac9af1bd071a022e3cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gad2473caf4558fac9af1bd071a022e3cf">XIICPS_IXR_TX_OVR_MASK</a>&#160;&#160;&#160;0x00000040U</td></tr>
<tr class="memdesc:gad2473caf4558fac9af1bd071a022e3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit Overflow Interrupt mask.  <a href="#gad2473caf4558fac9af1bd071a022e3cf">More...</a><br/></td></tr>
<tr class="separator:gad2473caf4558fac9af1bd071a022e3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f69893ddec793ff77b61deb51665aa5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>&#160;&#160;&#160;0x00000020U</td></tr>
<tr class="memdesc:ga1f69893ddec793ff77b61deb51665aa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive Overflow Interrupt mask.  <a href="#ga1f69893ddec793ff77b61deb51665aa5">More...</a><br/></td></tr>
<tr class="separator:ga1f69893ddec793ff77b61deb51665aa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c873e7df9f7a05e458b0d7e9b50faa9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga5c873e7df9f7a05e458b0d7e9b50faa9">XIICPS_IXR_SLV_RDY_MASK</a>&#160;&#160;&#160;0x00000010U</td></tr>
<tr class="memdesc:ga5c873e7df9f7a05e458b0d7e9b50faa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Monitored Slave Ready Interrupt mask.  <a href="#ga5c873e7df9f7a05e458b0d7e9b50faa9">More...</a><br/></td></tr>
<tr class="separator:ga5c873e7df9f7a05e458b0d7e9b50faa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6df84833528a63b5f5fb07a7d1743c91"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>&#160;&#160;&#160;0x00000008U</td></tr>
<tr class="memdesc:ga6df84833528a63b5f5fb07a7d1743c91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer Time Out Interrupt mask.  <a href="#ga6df84833528a63b5f5fb07a7d1743c91">More...</a><br/></td></tr>
<tr class="separator:ga6df84833528a63b5f5fb07a7d1743c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74650276000c8cc48cce610b8c6d2140"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>&#160;&#160;&#160;0x00000004U</td></tr>
<tr class="memdesc:ga74650276000c8cc48cce610b8c6d2140"><td class="mdescLeft">&#160;</td><td class="mdescRight">NACK Interrupt mask.  <a href="#ga74650276000c8cc48cce610b8c6d2140">More...</a><br/></td></tr>
<tr class="separator:ga74650276000c8cc48cce610b8c6d2140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4e9c302ebb54b53aa67ec6c9f4616a3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>&#160;&#160;&#160;0x00000002U</td></tr>
<tr class="memdesc:gaa4e9c302ebb54b53aa67ec6c9f4616a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Interrupt mask.  <a href="#gaa4e9c302ebb54b53aa67ec6c9f4616a3">More...</a><br/></td></tr>
<tr class="separator:gaa4e9c302ebb54b53aa67ec6c9f4616a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56fefd834bba9cc03c0a84bd2a3e099a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>&#160;&#160;&#160;0x00000001U</td></tr>
<tr class="memdesc:ga56fefd834bba9cc03c0a84bd2a3e099a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer Complete Interrupt mask.  <a href="#ga56fefd834bba9cc03c0a84bd2a3e099a">More...</a><br/></td></tr>
<tr class="separator:ga56fefd834bba9cc03c0a84bd2a3e099a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98fd97807996f571433d9235dc0b0ca4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga98fd97807996f571433d9235dc0b0ca4">XIICPS_IXR_DEFAULT_MASK</a>&#160;&#160;&#160;0x000002FFU</td></tr>
<tr class="memdesc:ga98fd97807996f571433d9235dc0b0ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default ISR Mask.  <a href="#ga98fd97807996f571433d9235dc0b0ca4">More...</a><br/></td></tr>
<tr class="separator:ga98fd97807996f571433d9235dc0b0ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e324637da3483d518d499b7257c7631"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>&#160;&#160;&#160;0x000002FFU</td></tr>
<tr class="memdesc:ga8e324637da3483d518d499b7257c7631"><td class="mdescLeft">&#160;</td><td class="mdescRight">All ISR Mask.  <a href="#ga8e324637da3483d518d499b7257c7631">More...</a><br/></td></tr>
<tr class="separator:ga8e324637da3483d518d499b7257c7631"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga9cfa5c76753b0658954c2c3dfec95d40"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define RECVING_ROLE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer direction is receiving. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, and <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1711ee48cbfe0d2c99cb7d14a52edaeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define REG_TEST_VALUE&#160;&#160;&#160;0x00000005U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register value to write. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga80e3362dd68172d429bb9361768d09e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SENDING_ROLE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>name Role constants </p>
<p>These constants are used to pass into the device setup routines to set up the device according to transfer direction.Transfer direction is sending </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, and <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15d5d2b9d158b3b550f7202d17bb8831"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TX_MAX_LOOPCNT&#160;&#160;&#160;1000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Used to wait in polled function. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4057e55c42ab0d06b32c55d5e67e0029"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_10_BIT_ADDR_OPTION&#160;&#160;&#160;0x02U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>10-bit address mode </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, and <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="gabaf93558635651b401ca9404cc777d73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_7_BIT_ADDR_OPTION&#160;&#160;&#160;0x01U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>7-bit address mode </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d97551edd7013b07093cac16dbe80f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_ADDR_OFFSET&#160;&#160;&#160;0x08U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IIC Address. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, and <a class="el" href="group__iicps__api.html#gad1c7ffa09df93fb59f97b0a3bf5baaa7">XIicPs_SetupSlave()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c96ab97015c857822df599608ba9c10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_CR_OFFSET&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>32-bit Control </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData()</a>, <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, <a class="el" href="group__iicps__api.html#ga9f2d2d3d11c2c9125a5bc8a0d95593cb">XIicPs_GetSClk()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>, <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>, <a class="el" href="group__iicps__api.html#gafb24cfdacf6cf28d80126862dc1cfbe5">XIicPs_SetSClk()</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#gad1c7ffa09df93fb59f97b0a3bf5baaa7">XIicPs_SetupSlave()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga6767d795533c56b3bc6ad08354c3acb1">XIicPsSclHold()</a>.</p>

</div>
</div>
<a class="anchor" id="gac9101ca416d8b9e303b4a65c4840a1d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_DATA_OFFSET&#160;&#160;&#160;0x0CU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IIC FIFO Data. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga15d33ac37a7293a75df5ac07a2eb4e37">SlaveRecvData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga90efda2a784d4b972f1835b0ba81cde1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_DisableAllInterrupts</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>((BaseAddress), <a class="code" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>, \</div>
<div class="line">                <a class="code" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>)</div>
<div class="ttc" id="group__iicps__api_html_gaa0bde6894589023ea8248a9d9cdc73c5"><div class="ttname"><a href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a></div><div class="ttdeci">#define XIicPs_WriteReg(BaseAddress, RegOffset, RegisterValue)</div><div class="ttdoc">Writes an IIC register. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:288</div></div>
<div class="ttc" id="group__iicps__api_html_gac95b4e2bd04257b322e5bf66f956bdf3"><div class="ttname"><a href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a></div><div class="ttdeci">#define XIICPS_IDR_OFFSET</div><div class="ttdoc">Interrupt Disable. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:61</div></div>
<div class="ttc" id="group__iicps__api_html_ga8e324637da3483d518d499b7257c7631"><div class="ttname"><a href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a></div><div class="ttdeci">#define XIICPS_IXR_ALL_INTR_MASK</div><div class="ttdoc">All ISR Mask. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:186</div></div>
</div><!-- fragment -->
<p>Disables all interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void <a class="el" href="group__iicps__api.html#ga90efda2a784d4b972f1835b0ba81cde1" title="Disables all interrupts. ">XIicPs_DisableAllInterrupts(u32 BaseAddress)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#gad1c7ffa09df93fb59f97b0a3bf5baaa7">XIicPs_SetupSlave()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6a21536b3361fa36f00745a3e653fbbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_DisableInterrupts</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">IntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>((BaseAddress), <a class="code" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>, \</div>
<div class="line">                (IntrMask))</div>
<div class="ttc" id="group__iicps__api_html_gaa0bde6894589023ea8248a9d9cdc73c5"><div class="ttname"><a href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a></div><div class="ttdeci">#define XIicPs_WriteReg(BaseAddress, RegOffset, RegisterValue)</div><div class="ttdoc">Writes an IIC register. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:288</div></div>
<div class="ttc" id="group__iicps__api_html_gac95b4e2bd04257b322e5bf66f956bdf3"><div class="ttname"><a href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a></div><div class="ttdeci">#define XIICPS_IDR_OFFSET</div><div class="ttdoc">Interrupt Disable. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:61</div></div>
</div><!-- fragment -->
<p>Disables selected interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device.</td></tr>
    <tr><td class="paramname">IntrMask</td><td>Interrupts to be disabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void <a class="el" href="group__iicps__api.html#ga6a21536b3361fa36f00745a3e653fbbd" title="Disables selected interrupts. ">XIicPs_DisableInterrupts(u32 BaseAddress, u32 IntrMask)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf7a3f4b57fe275f426ac9b771b187b23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_EnableInterrupts</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">IntrMask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>((BaseAddress), <a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>, (IntrMask))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes to the interrupt enable register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device.</td></tr>
    <tr><td class="paramname">IntrMask</td><td>Interrupts to be enabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void XIicPs_EnabledInterrupts(u32 BaseAddress, u32 IntrMask) </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, and <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>.</p>

</div>
</div>
<a class="anchor" id="gab784c2ba84387c6a91b0f279065bf396"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_ARB_LOST&#160;&#160;&#160;0x0010U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Arbitration lost. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6aa923029f051dc7a1f8db08cd8691ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_COMPLETE_RECV&#160;&#160;&#160;0x0002U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receive Complete Event. </p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#aec9a48698a06b521d36fbec8793119ec">Handler()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1646c08302f01007599cd95721006d35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_COMPLETE_SEND&#160;&#160;&#160;0x0001U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit Complete Event. </p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#aec9a48698a06b521d36fbec8793119ec">Handler()</a>, <a class="el" href="group__iicps__api.html#gae27f80d47ab655d8861b176ce0b57916">XIicPs_MasterIntrSend()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga60331546be6cd538df23e7ca3e1789fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_ERROR&#160;&#160;&#160;0x0008U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receive error. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gad72c8977f9bab033f2c393d24a70d5be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_NACK&#160;&#160;&#160;0x0020U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NACK Received. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga209dc1a98260b84e648df54ba923fc81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_RX_OVR&#160;&#160;&#160;0x0080U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>RX overflow. </p>

</div>
</div>
<a class="anchor" id="gac593e16a56addd3ff460a40ff04e1ed4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_RX_UNF&#160;&#160;&#160;0x0200U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>RX underflow. </p>

</div>
</div>
<a class="anchor" id="ga71fcc8f7c4ee01454f8260667f30ed71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_SLAVE_RDY&#160;&#160;&#160;0x0040U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Slave ready. </p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#aec9a48698a06b521d36fbec8793119ec">Handler()</a>, and <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gab1ed271a1272c5c85d84f4b71b740dfb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_TIME_OUT&#160;&#160;&#160;0x0004U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer timed out. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga809489609a6aabd5fd53c0242a565e59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_EVENT_TX_OVR&#160;&#160;&#160;0x0100U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TX overflow. </p>

</div>
</div>
<a class="anchor" id="ga27348268a3738fea6e82f6ba0845a11b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_H</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="ga985ef58212940c666ada245d3e83a17d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_HW_H</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="gac95b4e2bd04257b322e5bf66f956bdf3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IDR_OFFSET&#160;&#160;&#160;0x28U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Disable. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, and <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>.</p>

</div>
</div>
<a class="anchor" id="ga471cbaf2444941e33de173ea5e5c7f03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IER_OFFSET&#160;&#160;&#160;0x24U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Enable. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0668ec3389dd427fecfca4d1b9d2f0c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IMR_OFFSET&#160;&#160;&#160;0x20U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Enabled Mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9ec604e5ed330606d24a082484e905f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_ISR_OFFSET&#160;&#160;&#160;0x10U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt Status. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>, <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8e324637da3483d518d499b7257c7631"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_ALL_INTR_MASK&#160;&#160;&#160;0x000002FFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>All ISR Mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, and <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>.</p>

</div>
</div>
<a class="anchor" id="ga88441aea66e1ef8f1fd211756b1d1630"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_ARB_LOST_MASK&#160;&#160;&#160;0x00000200U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Arbitration Lost Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, and <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga56fefd834bba9cc03c0a84bd2a3e099a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_COMP_MASK&#160;&#160;&#160;0x00000001U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer Complete Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gae27f80d47ab655d8861b176ce0b57916">XIicPs_MasterIntrSend()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>, and <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa4e9c302ebb54b53aa67ec6c9f4616a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_DATA_MASK&#160;&#160;&#160;0x00000002U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, and <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>.</p>

</div>
</div>
<a class="anchor" id="ga98fd97807996f571433d9235dc0b0ca4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_DEFAULT_MASK&#160;&#160;&#160;0x000002FFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default ISR Mask. </p>

</div>
</div>
<a class="anchor" id="ga74650276000c8cc48cce610b8c6d2140"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_NACK_MASK&#160;&#160;&#160;0x00000004U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NACK Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>, and <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1f69893ddec793ff77b61deb51665aa5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_RX_OVR_MASK&#160;&#160;&#160;0x00000020U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receive Overflow Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6b92f85baedcc73892a141f80afe3462"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_RX_UNF_MASK&#160;&#160;&#160;0x00000080U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>FIFO Receive Underflow Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5c873e7df9f7a05e458b0d7e9b50faa9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_SLV_RDY_MASK&#160;&#160;&#160;0x00000010U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Monitored Slave Ready Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, and <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6df84833528a63b5f5fb07a7d1743c91"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_TO_MASK&#160;&#160;&#160;0x00000008U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer Time Out Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, and <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>.</p>

</div>
</div>
<a class="anchor" id="gad2473caf4558fac9af1bd071a022e3cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_IXR_TX_OVR_MASK&#160;&#160;&#160;0x00000040U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit Overflow Interrupt mask. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, and <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6f509d74539ec1fa9580312e520ce0b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_MAX_TRANSFER_SIZE&#160;&#160;&#160;((u32)255U - (u32)3U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max transfer size. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, and <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7835042cdace3ed1433a81d373d92da7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_NUM_OPTIONS&#160;&#160;&#160;(sizeof(OptionsTable) / sizeof(OptionsMap))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculated no. </p>
<p>of options </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, and <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="gab8f0f78d7389924d17d2b7b49f622cf1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_ReadIER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>((BaseAddress),  <a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the interrupt enable register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current bit mask that represents currently enabled interrupts.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 <a class="el" href="group__iicps__api.html#gab8f0f78d7389924d17d2b7b49f622cf1" title="Reads the interrupt enable register. ">XIicPs_ReadIER(u32 BaseAddress)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gabcc20fce80c1e8dff27be4e584c2cc27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIicPs_In32((BaseAddress) + (u32)(RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads an IIC register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>Contains the offset from the 1st register of the device to select the specific register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value read from the register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u32 XIicPs_ReadReg(u32 BaseAddress. int RegOffset) </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData()</a>, <a class="el" href="group__iicps__api.html#ga15d33ac37a7293a75df5ac07a2eb4e37">SlaveRecvData()</a>, <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga5b67ad96b8c40bdd47c2c2f8a57f170c">XIicPs_BusIsBusy()</a>, <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, <a class="el" href="group__iicps__api.html#ga9f2d2d3d11c2c9125a5bc8a0d95593cb">XIicPs_GetSClk()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>, <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>, <a class="el" href="group__iicps__api.html#gafb24cfdacf6cf28d80126862dc1cfbe5">XIicPs_SetSClk()</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga6767d795533c56b3bc6ad08354c3acb1">XIicPsSclHold()</a>, <a class="el" href="group__iicps__api.html#ga69c3112248f1ef2bda7a07f7724bcde9">XIicPsSetTimeOut()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga432020341d6b2c06bba8a084df9b5075"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_RecvByte</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{                                                                       \</div>
<div class="line">        u8 *Data, Value;                                                \</div>
<div class="line">        Value = (u8)(XIicPs_In32((InstancePtr)-&gt;Config.BaseAddress      \</div>
<div class="line">                  + (u32)<a class="code" href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a>));                          \</div>
<div class="line">        Data = &amp;Value;                                                  \</div>
<div class="line">        *(InstancePtr)-&gt;RecvBufferPtr = *Data;                          \</div>
<div class="line">        (InstancePtr)-&gt;RecvBufferPtr += 1;                              \</div>
<div class="line">         (InstancePtr)-&gt;RecvByteCount --;                               \</div>
<div class="line">}</div>
<div class="ttc" id="group__iicps__api_html_gac9101ca416d8b9e303b4a65c4840a1d5"><div class="ttname"><a href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a></div><div class="ttdeci">#define XIICPS_DATA_OFFSET</div><div class="ttdoc">IIC FIFO Data. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:54</div></div>
</div><!-- fragment -->
<p>Receive one byte from FIFO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: u8 <a class="el" href="group__iicps__api.html#ga432020341d6b2c06bba8a084df9b5075" title="Receive one byte from FIFO. ">XIicPs_RecvByte(XIicPs *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, and <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga820f2cd7e2c7b77b9b5966e87eae2c09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_REP_START_OPTION&#160;&#160;&#160;0x08U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Repeated Start. </p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a2f790bd9169574f1a1a9739b827cd04f">EepromReadDataRepStart()</a>, <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga479fe9cf74b161f574917ec20852ad1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_SendByte</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{                                                                       \</div>
<div class="line">        u8 Data;                                                        \</div>
<div class="line">        Data = *((InstancePtr)-&gt;SendBufferPtr);                         \</div>
<div class="line">         XIicPs_Out32((InstancePtr)-&gt;Config.BaseAddress                 \</div>
<div class="line">                         + (u32)(<a class="code" href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a>),                   \</div>
<div class="line">                                        (u32)(Data));                   \</div>
<div class="line">        (InstancePtr)-&gt;SendBufferPtr += 1;                              \</div>
<div class="line">        (InstancePtr)-&gt;SendByteCount -= 1;\</div>
<div class="line">}</div>
<div class="ttc" id="group__iicps__api_html_gac9101ca416d8b9e303b4a65c4840a1d5"><div class="ttname"><a href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a></div><div class="ttdeci">#define XIICPS_DATA_OFFSET</div><div class="ttdoc">IIC FIFO Data. </div><div class="ttdef"><b>Definition:</b> xiicps_hw.h:54</div></div>
</div><!-- fragment -->
<p>Place one byte into the transmit FIFO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void <a class="el" href="group__iicps__api.html#ga479fe9cf74b161f574917ec20852ad1c" title="Place one byte into the transmit FIFO. ">XIicPs_SendByte(XIicPs *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, and <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7748c81bca2cc231cba3fa780530d95a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_SLAVE_MON_OPTION&#160;&#160;&#160;0x04U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Slave monitor mode. </p>

</div>
</div>
<a class="anchor" id="ga3750481db8ebadadea48985f0abcb755"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_SLV_PAUSE_OFFSET&#160;&#160;&#160;0x18U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Slave monitor pause. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, and <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga12b4d0ee4dce6172ba78a0dec5666a72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_SR_OFFSET&#160;&#160;&#160;0x04U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Status. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga15d33ac37a7293a75df5ac07a2eb4e37">SlaveRecvData()</a>, <a class="el" href="group__iicps__api.html#ga5b67ad96b8c40bdd47c2c2f8a57f170c">XIicPs_BusIsBusy()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, and <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga61f5015241d07352f5cad00c589ec4e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_TIME_OUT_OFFSET&#160;&#160;&#160;0x1CU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Time Out. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, and <a class="el" href="group__iicps__api.html#ga69c3112248f1ef2bda7a07f7724bcde9">XIicPsSetTimeOut()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2afdc061285f0155f3fbbf322beae54f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIICPS_TRANS_SIZE_OFFSET&#160;&#160;&#160;0x14U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer Size. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, and <a class="el" href="group__iicps__api.html#gafb24cfdacf6cf28d80126862dc1cfbe5">XIicPs_SetSClk()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa0bde6894589023ea8248a9d9cdc73c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XIicPs_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegisterValue&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XIicPs_Out32((BaseAddress) + (u32)(RegOffset), (u32)(RegisterValue))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes an IIC register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Contains the base address of the device. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>Contains the offset from the 1st register of the device to select the specific register. </td></tr>
    <tr><td class="paramname">RegisterValue</td><td>Value to be written to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-Style signature: void <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5" title="Writes an IIC register. ">XIicPs_WriteReg(u32 BaseAddress, int RegOffset, u32 RegisterValue)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData()</a>, <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, <a class="el" href="group__iicps__api.html#ga15f2e8071ff8d8e1ec1dc56d29ab202b">XIicPs_DisableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#ga597faa64ccaf3d8034e3e92989048f06">XIicPs_EnableSlaveMonitor()</a>, <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, <a class="el" href="group__iicps__api.html#ga935187507d0449da043070029b9b7d25">XIicPs_ResetHw()</a>, <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>, <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>, <a class="el" href="group__iicps__api.html#gafb24cfdacf6cf28d80126862dc1cfbe5">XIicPs_SetSClk()</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#gad1c7ffa09df93fb59f97b0a3bf5baaa7">XIicPs_SetupSlave()</a>, <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>, <a class="el" href="group__iicps__api.html#ga1840936a940459c5a71858f94915f933">XIicPs_SlaveRecv()</a>, <a class="el" href="group__iicps__api.html#ga74b0af9e4395c8de724dc377e3504d0d">XIicPs_SlaveRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga4478d1d94f349deda02c0191a7529113">XIicPs_SlaveSend()</a>, <a class="el" href="group__iicps__api.html#ga5ca49d9131b13d66f58de0b5a23faea4">XIicPs_SlaveSendPolled()</a>, <a class="el" href="group__iicps__api.html#ga6767d795533c56b3bc6ad08354c3acb1">XIicPsSclHold()</a>, and <a class="el" href="group__iicps__api.html#ga69c3112248f1ef2bda7a07f7724bcde9">XIicPsSetTimeOut()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gad5b508fb2987b4bf23a840389450deef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XIicPs_IntrHandler)(void *CallBackRef, u32 StatusEvent)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The handler data type allows the user to define a callback function to respond to interrupt events in the system. </p>
<p>This function is executed in interrupt context, so that the amount of processing should be minimized.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>Reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. Its type is not important to the driver, so it is a void pointer. </td></tr>
    <tr><td class="paramname">StatusEvent</td><td>Indicates one or more status events that occurred. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaf87bf18c36aebe9840bae9102c10572b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MasterSendData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function handles continuation of sending data. </p>
<p>It is invoked from interrupt handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gae27f80d47ab655d8861b176ce0b57916">XIicPs_MasterIntrSend()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15d33ac37a7293a75df5ac07a2eb4e37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 SlaveRecvData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the continuation of receiving data. </p>
<p>It is invoked from interrupt handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes still expected by the instance.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="group__iicps__api.html#gac9101ca416d8b9e303b4a65c4840a1d5">XIICPS_DATA_OFFSET</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gacfb0d8f18f8105db7708669ddb186e19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 TransmitFifoFill </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts more data into the transmit FIFO. </p>
<p>The number of bytes is either the expected number of bytes for this transfer or available space in FIFO, which ever is less.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes left for this instance.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This is function is shared by the master and slave. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga479fe9cf74b161f574917ec20852ad1c">XIicPs_SendByte</a>, and <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>, and <a class="el" href="group__iicps__api.html#ga716cdb9f63e56269824866872958dd78">XIicPs_SlaveInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3eaa694ecd774beca05bf79c1f9df6c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_Abort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Aborts a transfer in progress by resetting the FIFOs. </p>
<p>The byte counts are cleared.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga471cbaf2444941e33de173ea5e5c7f03">XIICPS_IER_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0668ec3389dd427fecfca4d1b9d2f0c4">XIICPS_IMR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5b67ad96b8c40bdd47c2c2f8a57f170c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_BusIsBusy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks the availability of the I2C bus. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the bus is busy.</li>
</ul>
</dd></dl>
<ul>
<li>FALSE if the bus is not busy. </li>
</ul>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>.</p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a2f790bd9169574f1a1a9739b827cd04f">EepromReadDataRepStart()</a>, <a class="el" href="xiicps__repeated__start__example_8c.html#a40d92867ead2dc8efe06207b8b0f3494">EepromWriteData()</a>, <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a41b1c933a934b05ba55a4e0f69c9fb01">XIicPsSmbusMasterWriteBlockData()</a>, <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a3cc02a4c6ac84fe878754040e949f1e5">XIicPsSmbusPolledMasterWriteBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="gae97ad9c202953c7e49bfb56533c47079"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a specific <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance so that the driver is ready to use. </p>
<p>Functions for general setup, in <a class="el" href="xiicps_8c.html">xiicps.c</a>.</p>
<p>The state of the device after initialization is:</p>
<ul>
<li>Device is disabled</li>
<li>Slave mode</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>Reference to a structure containing information about a specific IIC device. This function initializes an InstancePtr object for a specific device specified by the contents of Config. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>Device base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the device physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, use ConfigPtr-&gt;BaseAddress for this parameter, passing the physical address instead.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The return value is XST_SUCCESS if successful. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#acd51ba6aaa712f4334b8740befa62c16">XIicPs::CallBackRef</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps___config.html#ab1b5b0096bd5138a78be794448e6b681">XIicPs_Config::DeviceId</a>, <a class="el" href="struct_x_iic_ps___config.html#afbb42f3963d40b41b322b76c88dcd916">XIicPs_Config::InputClockHz</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#aba83aa945d25876aedff43aa62ddd8fc">XIicPs::Options</a>, <a class="el" href="struct_x_iic_ps.html#a7e7dfa82aa1e03586c5e214db40da387">XIicPs::StatusHandler</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, and <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__repeated__start__example_8c.html#a03067e867debb67e8cc850dad9b4491b">IicPsRepeatedStartExample()</a>, <a class="el" href="xiicps__selftest__example_8c.html#aa6adf037117376a372a316e9ec892bc6">IicPsSelfTestExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, <a class="el" href="xiicps__smbus__polled__slave__example_8c.html#ab753eb1f3460634d8398753a97726982">IicPsSmbusSlavePolledExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga87cbf2622a9c6ad66b18d4c3f9575a76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_ClearOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the options for the IIC device driver. </p>
<p>The options control how the device behaves relative to the IIC bus. The device must be idle rather than busy transferring data before setting these device options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">Options</td><td>Contains the specified options to be cleared. This is a bit mask where a 1 means to turn the option off. One or more bit values may be contained in the mask. See the bit definitions named XIICPS_*_OPTION in <a class="el" href="xiicps_8h.html">xiicps.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if options are successfully set.</li>
<li>XST_DEVICE_IS_STARTED if the device is currently transferring data. The transfer must complete or be aborted before setting options.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#abd4a6ba282702a1fa6f5d0c7841682e5">XIicPs::Is10BitAddr</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#aba83aa945d25876aedff43aa62ddd8fc">XIicPs::Options</a>, <a class="el" href="group__iicps__api.html#ga4057e55c42ab0d06b32c55d5e67e0029">XIICPS_10_BIT_ADDR_OPTION</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, <a class="el" href="group__iicps__api.html#ga7835042cdace3ed1433a81d373d92da7">XIICPS_NUM_OPTIONS</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga820f2cd7e2c7b77b9b5966e87eae2c09">XIICPS_REP_START_OPTION</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a2f790bd9169574f1a1a9739b827cd04f">EepromReadDataRepStart()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15f2e8071ff8d8e1ec1dc56d29ab202b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_DisableSlaveMonitor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables slave monitor mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga6a21536b3361fa36f00745a3e653fbbd">XIicPs_DisableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga5c873e7df9f7a05e458b0d7e9b50faa9">XIICPS_IXR_SLV_RDY_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga597faa64ccaf3d8034e3e92989048f06"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_EnableSlaveMonitor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the slave monitor mode. </p>
<p>It enables slave monitor in the control register and enables slave ready interrupt. It then does an address transfer to slave. Interrupt handler will signal the caller if slave responds to the address transfer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave to contact.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#abd4a6ba282702a1fa6f5d0c7841682e5">XIicPs::Is10BitAddr</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga5c873e7df9f7a05e458b0d7e9b50faa9">XIICPS_IXR_SLV_RDY_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga3750481db8ebadadea48985f0abcb755">XIICPS_SLV_PAUSE_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga20964e35a74f4e16f90e78510c9b4337"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIicPs_GetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the options for the IIC device. </p>
<p>The options control how the device behaves relative to the IIC bus.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>32 bit mask of the options, where a 1 means the option is on, and a 0 means to the option is off. One or more bit values may be contained in the mask. See the bit definitions named XIICPS_*_OPTION in the file <a class="el" href="xiicps_8h.html">xiicps.h</a>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="group__iicps__api.html#ga4057e55c42ab0d06b32c55d5e67e0029">XIICPS_10_BIT_ADDR_OPTION</a>, <a class="el" href="group__iicps__api.html#gabaf93558635651b401ca9404cc777d73">XIICPS_7_BIT_ADDR_OPTION</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga7835042cdace3ed1433a81d373d92da7">XIICPS_NUM_OPTIONS</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#ga820f2cd7e2c7b77b9b5966e87eae2c09">XIICPS_REP_START_OPTION</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gae97ad9c202953c7e49bfb56533c47079">XIicPs_CfgInitialize()</a>, <a class="el" href="group__iicps__api.html#ga87cbf2622a9c6ad66b18d4c3f9575a76">XIicPs_ClearOptions()</a>, and <a class="el" href="group__iicps__api.html#gaec1dc5be2be8a7394263cfe56af976c5">XIicPs_SetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9f2d2d3d11c2c9125a5bc8a0d95593cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XIicPs_GetSClk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the serial clock rate for the IIC device. </p>
<p>The device must be idle rather than busy transferring data before setting these device options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the IIC clock to the nearest Hz based on the control register settings. The actual value may not be exact to to integer math rounding errors.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps___config.html#afbb42f3963d40b41b322b76c88dcd916">XIicPs_Config::InputClockHz</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga14c7ff4f51185d8aab0028c0eeb3c336"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> * XIicPs_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function for configuration lookup, in <a class="el" href="xiicps__sinit_8c.html">xiicps_sinit.c</a>. </p>
<p>Looks up the device configuration based on the unique device ID.</p>
<p>A table contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>Contains the ID of the device whose configuration information is needed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration found or NULL if the specified device ID was not found. See <a class="el" href="xiicps_8h.html">xiicps.h</a> for the definition of <a class="el" href="struct_x_iic_ps___config.html" title="This typedef contains configuration information for the device. ">XIicPs_Config</a>. </dd></dl>

<p>References <a class="el" href="group__iicps__api.html#ga549d334ca8efcb3b3152a86807dea92d">XIicPs_ConfigTable</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__repeated__start__example_8c.html#a03067e867debb67e8cc850dad9b4491b">IicPsRepeatedStartExample()</a>, <a class="el" href="xiicps__selftest__example_8c.html#aa6adf037117376a372a316e9ec892bc6">IicPsSelfTestExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, <a class="el" href="xiicps__smbus__polled__slave__example_8c.html#ab753eb1f3460634d8398753a97726982">IicPsSmbusSlavePolledExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gad64f0389aa694ecf21ca8a39e44cf13f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterInterruptHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The interrupt handler for the master mode. </p>
<p>It does the protocol handling for the interrupt-driven transfers.</p>
<p>Completion events and errors are signaled to upper layer for proper handling.</p>
<p>The interrupts that are handled are:</p>
<ul>
<li>DATA: This case is handled only for master receive data. The master has to request for more data (if there is more data to receive) and read the data from the FIFO.</li>
<li><p class="startli">COMP: If the Master is transmitting data and there is more data to be sent then the data is written to the FIFO. If there is no more data to be transmitted then a completion event is signalled to the upper layer by calling the callback handler.</p>
<p class="startli">If the Master is receiving data then the data is read from the FIFO and the Master has to request for more data (if there is more data to receive). If all the data has been received then a completion event is signalled to the upper layer by calling the callback handler. It is an error if the amount of received data is more than expected.</p>
</li>
<li>NAK and SLAVE_RDY: This is signalled to the upper layer by calling the callback handler.</li>
<li>All Other interrupts: These interrupts are marked as error. This is signalled to the upper layer by calling the callback handler.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#acd51ba6aaa712f4334b8740befa62c16">XIicPs::CallBackRef</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#ade45c192f7738aef36907cd7ff757a20">XIicPs::IsSend</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="struct_x_iic_ps.html#a7e7dfa82aa1e03586c5e214db40da387">XIicPs::StatusHandler</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga6a21536b3361fa36f00745a3e653fbbd">XIicPs_DisableInterrupts</a>, <a class="el" href="group__iicps__api.html#gab784c2ba84387c6a91b0f279065bf396">XIICPS_EVENT_ARB_LOST</a>, <a class="el" href="group__iicps__api.html#ga6aa923029f051dc7a1f8db08cd8691ff">XIICPS_EVENT_COMPLETE_RECV</a>, <a class="el" href="group__iicps__api.html#ga60331546be6cd538df23e7ca3e1789fa">XIICPS_EVENT_ERROR</a>, <a class="el" href="group__iicps__api.html#gad72c8977f9bab033f2c393d24a70d5be">XIICPS_EVENT_NACK</a>, <a class="el" href="group__iicps__api.html#ga71fcc8f7c4ee01454f8260667f30ed71">XIICPS_EVENT_SLAVE_RDY</a>, <a class="el" href="group__iicps__api.html#gab1ed271a1272c5c85d84f4b71b740dfb">XIICPS_EVENT_TIME_OUT</a>, <a class="el" href="group__iicps__api.html#ga0668ec3389dd427fecfca4d1b9d2f0c4">XIICPS_IMR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>, <a class="el" href="group__iicps__api.html#ga5c873e7df9f7a05e458b0d7e9b50faa9">XIICPS_IXR_SLV_RDY_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, <a class="el" href="group__iicps__api.html#gad2473caf4558fac9af1bd071a022e3cf">XIICPS_IXR_TX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, <a class="el" href="group__iicps__api.html#gae27f80d47ab655d8861b176ce0b57916">XIicPs_MasterIntrSend()</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gabaf5959c99fcfbbe368fa0a670347c69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterIntrRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>IntrStatusRegPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>IsHold</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles interrupt-driven receive in master mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">IntrStatusRegPtr</td><td>Pointer to the interrupt status register. </td></tr>
    <tr><td class="paramname">IsHold</td><td>Hold status.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a9655be6e644761b9a575ea7fb4ec38cc">XIicPs::CurrByteCount</a>, <a class="el" href="struct_x_iic_ps.html#ade45c192f7738aef36907cd7ff757a20">XIicPs::IsSend</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="struct_x_iic_ps.html#af88203c1d9a37c0d8cb92d71f837c252">XIicPs::UpdateTxSize</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, <a class="el" href="group__iicps__api.html#ga6f509d74539ec1fa9580312e520ce0b8">XIICPS_MAX_TRANSFER_SIZE</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gae27f80d47ab655d8861b176ce0b57916"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterIntrSend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IntrStatusReg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>StatusEventPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles interrupt-driven send in master mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">IntrStatusReg</td><td>Value of interrupt status register. </td></tr>
    <tr><td class="paramname">StatusEventPtr</td><td>Pointer to the StatusEvent.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps.html#ade45c192f7738aef36907cd7ff757a20">XIicPs::IsSend</a>, <a class="el" href="group__iicps__api.html#gaf87bf18c36aebe9840bae9102c10572b">MasterSendData()</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#ga1646c08302f01007599cd95721006d35">XIICPS_EVENT_COMPLETE_SEND</a>, and <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gad64f0389aa694ecf21ca8a39e44cf13f">XIicPs_MasterInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gaec237d71613a20b823bb60d522fe0a4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterPolledRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>IsHold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCountVar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles polled mode receive in master mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">IsHold</td><td>Hold status. </td></tr>
    <tr><td class="paramname">ByteCountVar</td><td>ByteCount.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="struct_x_iic_ps.html#af88203c1d9a37c0d8cb92d71f837c252">XIicPs::UpdateTxSize</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>, <a class="el" href="group__iicps__api.html#gab4873151354658814e3e28681540a009">XIicPs_MasterRead()</a>, <a class="el" href="group__iicps__api.html#ga6f509d74539ec1fa9580312e520ce0b8">XIICPS_MAX_TRANSFER_SIZE</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="gab4873151354658814e3e28681540a009"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>IsHold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32 *&#160;</td>
          <td class="paramname"><em>ByteCntPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receives data byte by byte till Rx data is valid in interrupt master mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">IsHold</td><td>Hold status. </td></tr>
    <tr><td class="paramname">ByteCntPtr</td><td>Pointer to the byte count.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a9655be6e644761b9a575ea7fb4ec38cc">XIicPs::CurrByteCount</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="struct_x_iic_ps.html#af88203c1d9a37c0d8cb92d71f837c252">XIicPs::UpdateTxSize</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga432020341d6b2c06bba8a084df9b5075">XIicPs_RecvByte</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gabaf5959c99fcfbbe368fa0a670347c69">XIicPs_MasterIntrRead()</a>, and <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4817f45c28341cea4ab8960dc1203acb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterRecv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiates an interrupt-driven receive in master mode. </p>
<p>It sets the transfer size register so the slave can send data. The rest of the work is managed by interrupt handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the receive buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be received. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave we are receiving from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This receive routine is for interrupt-driven transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a9655be6e644761b9a575ea7fb4ec38cc">XIicPs::CurrByteCount</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#ade45c192f7738aef36907cd7ff757a20">XIicPs::IsSend</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="group__iicps__api.html#ga9cfa5c76753b0658954c2c3dfec95d40">RECVING_ROLE</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#af88203c1d9a37c0d8cb92d71f837c252">XIicPs::UpdateTxSize</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, <a class="el" href="group__iicps__api.html#ga6f509d74539ec1fa9580312e520ce0b8">XIICPS_MAX_TRANSFER_SIZE</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga21bdb2f8a1f09e027aa8b0e9d6648d75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_MasterRecvPolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiates a polled mode receive in master mode. </p>
<p>It repeatedly sets the transfer size register so the slave can send data to us. It polls the data register for data to come in. If master fails to read data due arbitration lost, will return with arbitration lost status. If slave fails to send us data, it fails with time out.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the receive buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be received. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave we are receiving from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything went well.</li>
<li>XST_FAILURE if timed out.</li>
<li>XST_IIC_ARB_LOST if arbitration lost</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This receive routine is for polled mode transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a5a14c111d06c2dc89ad62d55d81c2185">XIicPs::RecvByteCount</a>, <a class="el" href="group__iicps__api.html#ga9cfa5c76753b0658954c2c3dfec95d40">RECVING_ROLE</a>, <a class="el" href="struct_x_iic_ps.html#af88203c1d9a37c0d8cb92d71f837c252">XIicPs::UpdateTxSize</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>, <a class="el" href="group__iicps__api.html#gaec237d71613a20b823bb60d522fe0a4b">XIicPs_MasterPolledRead()</a>, <a class="el" href="group__iicps__api.html#ga6f509d74539ec1fa9580312e520ce0b8">XIICPS_MAX_TRANSFER_SIZE</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a2f790bd9169574f1a1a9739b827cd04f">EepromReadDataRepStart()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3027c1eb6ece3193a978a2da8e06c011"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_MasterSend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions for device as master, in <a class="el" href="xiicps__master_8c.html">xiicps_master.c</a>. </p>
<p>Initiates an interrupt-driven send in master mode.</p>
<p>It tries to send the first FIFO full of data, then lets the interrupt handler to handle the rest of the data if there is any.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the send buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be sent. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave we are sending to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This send routine is for interrupt-driven transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#ade45c192f7738aef36907cd7ff757a20">XIicPs::IsSend</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#ga80e3362dd68172d429bb9361768d09e7">SENDING_ROLE</a>, <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a41b1c933a934b05ba55a4e0f69c9fb01">XIicPsSmbusMasterWriteBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga71584f1a7e675cde41cfd9d1bd4320b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_MasterSendPolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiates a polled mode send in master mode. </p>
<p>It sends data to the FIFO and waits for the slave to pick them up. If master fails to send data due arbitration lost, will stop transfer and with arbitration lost status. If slave fails to remove data from FIFO, the send fails with time out.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the send buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be sent. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave we are sending to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything went well.</li>
<li>XST_FAILURE if timed out.</li>
<li>XST_IIC_ARB_LOST if arbitration lost</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This send routine is for polled mode transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#ga80e3362dd68172d429bb9361768d09e7">SENDING_ROLE</a>, <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga15d5d2b9d158b3b550f7202d17bb8831">TX_MAX_LOOPCNT</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga88441aea66e1ef8f1fd211756b1d1630">XIICPS_IXR_ARB_LOST_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#gad2473caf4558fac9af1bd071a022e3cf">XIICPS_IXR_TX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#gab4edada5e6ef2c6e9a986489a54604b3">XIicPs_SetupMaster()</a>, <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a40d92867ead2dc8efe06207b8b0f3494">EepromWriteData()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a3cc02a4c6ac84fe878754040e949f1e5">XIicPsSmbusPolledMasterWriteBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1169a92eb8594d6f038816b5740916f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_Reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the IIC device. </p>
<p>Reset must only be called after the driver has been initialized. The configuration of the device after reset is the same as its configuration after initialization. Any data transfer that is in progress is aborted.</p>
<p>The upper layer software is responsible for re-configuring (if necessary) and reenabling interrupts for the IIC device after the reset.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga3eaa694ecd774beca05bf79c1f9df6c0">XIicPs_Abort()</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#ga61f5015241d07352f5cad00c589ec4e0">XIICPS_TIME_OUT_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#gae97ad9c202953c7e49bfb56533c47079">XIicPs_CfgInitialize()</a>, and <a class="el" href="group__iicps__api.html#ga6f9db7651cd6ee0232dc9fdaca3f976a">XIicPs_SelfTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga935187507d0449da043070029b9b7d25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_ResetHw </td>
          <td>(</td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>BaseAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs the reset sequence to the given I2c interface by configuring the appropriate control bits in the I2c specific registers the i2cps reset sequence involves the following steps Disable all the interrupts Clear the status Clear FIFO's and disable hold bit Clear the line status Update relevant configuration registers with reset values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>Base address of the interface</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function will not modify the slcr registers that are relevant for I2c controller </dd></dl>

<p>References <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gac95b4e2bd04257b322e5bf66f956bdf3">XIICPS_IDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga61f5015241d07352f5cad00c589ec4e0">XIICPS_TIME_OUT_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga6f9db7651cd6ee0232dc9fdaca3f976a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions for selftest, in <a class="el" href="xiicps__selftest_8c.html">xiicps_selftest.c</a>. </p>
<p>Runs a self-test on the driver/device.</p>
<p>The self-test is destructive in that a reset of the device is performed in order to check the reset values of the registers and to get the device into a known state.</p>
<p>Upon successful return from the self-test, the device is reset.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_REGISTER_ERROR indicates a register did not read or write correctly.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga1711ee48cbfe0d2c99cb7d14a52edaeb">REG_TEST_VALUE</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0668ec3389dd427fecfca4d1b9d2f0c4">XIICPS_IMR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga1169a92eb8594d6f038816b5740916f7">XIicPs_Reset()</a>, <a class="el" href="group__iicps__api.html#ga3750481db8ebadadea48985f0abcb755">XIICPS_SLV_PAUSE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__selftest__example_8c.html#aa6adf037117376a372a316e9ec892bc6">IicPsSelfTestExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, <a class="el" href="xiicps__smbus__polled__slave__example_8c.html#ab753eb1f3460634d8398753a97726982">IicPsSmbusSlavePolledExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gaec1dc5be2be8a7394263cfe56af976c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions for setting and getting data rate, in <a class="el" href="xiicps__options_8c.html">xiicps_options.c</a>. </p>
<p>Sets the options for the IIC device driver.</p>
<p>The options control how the device behaves relative to the IIC bus. The device must be idle rather than busy transferring data before setting these device options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">Options</td><td>Contains the specified options to be set. This is a bit mask where a 1 means to turn the option on. One or more bit values may be contained in the mask. See the bit definitions named XIICPS_*_OPTION in <a class="el" href="xiicps_8h.html">xiicps.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if options are successfully set.</li>
<li>XST_DEVICE_IS_STARTED if the device is currently transferring data. The transfer must complete or be aborted before setting options.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#abd4a6ba282702a1fa6f5d0c7841682e5">XIicPs::Is10BitAddr</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#adfabb9b5df439e3d18dde86763548e95">XIicPs::IsRepeatedStart</a>, <a class="el" href="struct_x_iic_ps.html#aba83aa945d25876aedff43aa62ddd8fc">XIicPs::Options</a>, <a class="el" href="group__iicps__api.html#ga4057e55c42ab0d06b32c55d5e67e0029">XIICPS_10_BIT_ADDR_OPTION</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga20964e35a74f4e16f90e78510c9b4337">XIicPs_GetOptions()</a>, <a class="el" href="group__iicps__api.html#ga7835042cdace3ed1433a81d373d92da7">XIICPS_NUM_OPTIONS</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga820f2cd7e2c7b77b9b5966e87eae2c09">XIICPS_REP_START_OPTION</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__repeated__start__example_8c.html#a2f790bd9169574f1a1a9739b827cd04f">EepromReadDataRepStart()</a>, <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7133eab85731592fdb9d5d1c66bb6957">XIicPsSmbusMasterReadBlockData()</a>, and <a class="el" href="xiicps__smbus__polled__master__example_8c.html#a1df049427145c4784d51ce31c1924cdf">XIicPsSmbusPolledMasterReadBlockData()</a>.</p>

</div>
</div>
<a class="anchor" id="gafb24cfdacf6cf28d80126862dc1cfbe5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SetSClk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FsclHz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the serial clock rate for the IIC device. </p>
<p>The device must be idle rather than busy transferring data before setting these device options.</p>
<p>The data rate is set by values in the control register. The formula for determining the correct register values is: Fscl = Fpclk/(22 x (divisor_a+1) x (divisor_b+1)) See the hardware data sheet for a full explanation of setting the serial clock rate.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">FsclHz</td><td>Clock frequency in Hz. The two most common clock rates are 100KHz and 400KHz.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if options are successfully set.</li>
<li>XST_DEVICE_IS_STARTED if the device is currently transferring data. The transfer must complete or be aborted before setting options.</li>
<li>XST_FAILURE if the Fscl frequency can not be set.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The clock can not be faster than the input clock divide by 22. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps___config.html#afbb42f3963d40b41b322b76c88dcd916">XIicPs_Config::InputClockHz</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga2afdc061285f0155f3fbbf322beae54f">XIICPS_TRANS_SIZE_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__polled__master__example_8c.html#ac4e558f8d80a9e19319e0e663093ebe9">IicPsMasterPolledExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__polled__multi__master__example_8c.html#a63d61f002ccfdbefe4bd73be1c5a3b0b">IicPsMultiMasterPolledExample()</a>, <a class="el" href="xiicps__repeated__start__example_8c.html#a03067e867debb67e8cc850dad9b4491b">IicPsRepeatedStartExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, <a class="el" href="xiicps__smbus__polled__slave__example_8c.html#ab753eb1f3460634d8398753a97726982">IicPsSmbusSlavePolledExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gab2581047e7d5607fe96fe0dac9673527"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_SetStatusHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__iicps__api.html#gad5b508fb2987b4bf23a840389450deef">XIicPs_IntrHandler</a>&#160;</td>
          <td class="paramname"><em>FunctionPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions for interrupts, in <a class="el" href="xiicps__intr_8c.html">xiicps_intr.c</a>. </p>
<p>Sets the status callback function, the status handler, which the driver calls when it encounter conditions that should be reported to the higher layer software.</p>
<p>The handler executes in an interrupt context, so the amount of processing should be minimized.</p>
<p>Refer to the <a class="el" href="xiicps_8h.html">xiicps.h</a> file for a list of the Callback events. The events are defined to start with XIICPS_EVENT_*.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>Upper layer callback reference passed back when the callback function is invoked. </td></tr>
    <tr><td class="paramname">FunctionPtr</td><td>Pointer to the callback function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The handler is called within interrupt context, so it should finish its work quickly. </p>

<p>References <a class="el" href="struct_x_iic_ps.html#acd51ba6aaa712f4334b8740befa62c16">XIicPs::CallBackRef</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, and <a class="el" href="struct_x_iic_ps.html#a7e7dfa82aa1e03586c5e214db40da387">XIicPs::StatusHandler</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__master__example_8c.html#ad85fa2aad4605eee11e8801ba29c048f">IicPsMasterIntrExample()</a>, <a class="el" href="xiicps__intr__multi__master__example_8c.html#aafb491ea5cbffa3e3f6364edec38341e">IicPsMultiMasterIntrExample()</a>, <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, and <a class="el" href="xiicps__smbus__intr__master__example_8c.html#a7b6b38938c2a31f16140990e5ae4909a">XIicPsSmbusMasterIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gab4edada5e6ef2c6e9a986489a54604b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SetupMaster </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>Role</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function prepares a device to transfers as a master. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
    <tr><td class="paramname">Role</td><td>Specifies whether the device is sending or receiving.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything went well.</li>
<li>XST_FAILURE if bus is busy.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Interrupts are always disabled. The device which needs to use interrupts must setup interrupts after this call. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#abd4a6ba282702a1fa6f5d0c7841682e5">XIicPs::Is10BitAddr</a>, <a class="el" href="group__iicps__api.html#ga9cfa5c76753b0658954c2c3dfec95d40">RECVING_ROLE</a>, <a class="el" href="group__iicps__api.html#ga5b67ad96b8c40bdd47c2c2f8a57f170c">XIicPs_BusIsBusy()</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga90efda2a784d4b972f1835b0ba81cde1">XIicPs_DisableAllInterrupts</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga4817f45c28341cea4ab8960dc1203acb">XIicPs_MasterRecv()</a>, <a class="el" href="group__iicps__api.html#ga21bdb2f8a1f09e027aa8b0e9d6648d75">XIicPs_MasterRecvPolled()</a>, <a class="el" href="group__iicps__api.html#ga3027c1eb6ece3193a978a2da8e06c011">XIicPs_MasterSend()</a>, and <a class="el" href="group__iicps__api.html#ga71584f1a7e675cde41cfd9d1bd4320b4">XIicPs_MasterSendPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="gad1c7ffa09df93fb59f97b0a3bf5baaa7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_SetupSlave </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>SlaveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions for device as slave, in <a class="el" href="xiicps__slave_8c.html">xiicps_slave.c</a>. </p>
<p>Sets up the device to be a slave.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">SlaveAddr</td><td>Address of the slave we are receiving from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Interrupt is always enabled no matter the transfer is interrupt-driven or polled mode. The device interruption depends on whether the device is connected to an interrupt controller and interrupt for the device is enabled. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="group__iicps__api.html#ga3d97551edd7013b07093cac16dbe80f1">XIICPS_ADDR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga90efda2a784d4b972f1835b0ba81cde1">XIicPs_DisableAllInterrupts</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>, <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>, <a class="el" href="xiicps__smbus__intr__slave__example_8c.html#a67de2fa626088e423bc6661ad2509039">IicPsSmbusSlaveIntrExample()</a>, and <a class="el" href="xiicps__smbus__polled__slave__example_8c.html#ab753eb1f3460634d8398753a97726982">IicPsSmbusSlavePolledExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga716cdb9f63e56269824866872958dd78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_SlaveInterruptHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The interrupt handler for slave mode. </p>
<p>It does the protocol handling for the interrupt-driven transfers.</p>
<p>Completion events and errors are signaled to upper layer for proper handling.</p>
<p>The interrupts that are handled are:</p>
<ul>
<li><p class="startli">DATA: If the instance is sending, it means that the master wants to read more data from us. Send more data, and check whether the send is complete.</p>
<p class="startli">If the instance is receiving, it means that the master has written more data to us. Receive more data, and check whether the receive is complete.</p>
</li>
<li><p class="startli">COMP: This marks that stop sequence has been sent from the master, transfer is about to terminate. However, for receiving, the master may have written us some data, so receive that first.</p>
<p class="startli">It is an error if the amount of transferred data is less than expected.</p>
</li>
<li>NAK: This marks that master does not want our data. It is for send only.</li>
<li>Other interrupts: These interrupts are marked as error.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#acd51ba6aaa712f4334b8740befa62c16">XIicPs::CallBackRef</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#ga15d33ac37a7293a75df5ac07a2eb4e37">SlaveRecvData()</a>, <a class="el" href="struct_x_iic_ps.html#a7e7dfa82aa1e03586c5e214db40da387">XIicPs::StatusHandler</a>, <a class="el" href="group__iicps__api.html#gacfb0d8f18f8105db7708669ddb186e19">TransmitFifoFill()</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga6a21536b3361fa36f00745a3e653fbbd">XIicPs_DisableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga6aa923029f051dc7a1f8db08cd8691ff">XIICPS_EVENT_COMPLETE_RECV</a>, <a class="el" href="group__iicps__api.html#ga1646c08302f01007599cd95721006d35">XIICPS_EVENT_COMPLETE_SEND</a>, <a class="el" href="group__iicps__api.html#ga60331546be6cd538df23e7ca3e1789fa">XIICPS_EVENT_ERROR</a>, <a class="el" href="group__iicps__api.html#gad72c8977f9bab033f2c393d24a70d5be">XIICPS_EVENT_NACK</a>, <a class="el" href="group__iicps__api.html#gab1ed271a1272c5c85d84f4b71b740dfb">XIICPS_EVENT_TIME_OUT</a>, <a class="el" href="group__iicps__api.html#ga0668ec3389dd427fecfca4d1b9d2f0c4">XIICPS_IMR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, <a class="el" href="group__iicps__api.html#gad2473caf4558fac9af1bd071a022e3cf">XIICPS_IXR_TX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1840936a940459c5a71858f94915f933"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_SlaveRecv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets up a slave interrupt-driven receive. </p>
<p>Data processing for the receive is handled by the interrupt handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the receive buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be received.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This routine is for interrupt-driven transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga1f69893ddec793ff77b61deb51665aa5">XIICPS_IXR_RX_OVR_MASK</a>, <a class="el" href="group__iicps__api.html#ga6b92f85baedcc73892a141f80afe3462">XIICPS_IXR_RX_UNF_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga74b0af9e4395c8de724dc377e3504d0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SlaveRecvPolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function receives a buffer in polled mode as a slave. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the receive buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be received.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything went well.</li>
<li>XST_FAILURE if timed out.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This receive routine is for polled mode transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga432020341d6b2c06bba8a084df9b5075">XIicPs_RecvByte</a>, <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4478d1d94f349deda02c0191a7529113"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPs_SlaveSend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets up a slave interrupt-driven send. </p>
<p>It set the repeated start for the device with a transfer size larger than FIFO depth. Data processing for the send is initiated by the interrupt handler.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the send buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be sent.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This send routine is for interrupt-driven transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#ae437c6d2891d79c44b4da56b0ffe8f99">XIicPs::RecvBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#gaf7a3f4b57fe275f426ac9b771b187b23">XIicPs_EnableInterrupts</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga8e324637da3483d518d499b7257c7631">XIICPS_IXR_ALL_INTR_MASK</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#gaa4e9c302ebb54b53aa67ec6c9f4616a3">XIICPS_IXR_DATA_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#ga6df84833528a63b5f5fb07a7d1743c91">XIICPS_IXR_TO_MASK</a>, <a class="el" href="group__iicps__api.html#gad2473caf4558fac9af1bd071a022e3cf">XIICPS_IXR_TX_OVR_MASK</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__intr__slave__example_8c.html#a02c8d5747fdaa9b5a8ca9282c2f1dfe5">IicPsSlaveIntrExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5ca49d9131b13d66f58de0b5a23faea4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XIicPs_SlaveSendPolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MsgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">s32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends a buffer in polled mode as a slave. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance. </td></tr>
    <tr><td class="paramname">MsgPtr</td><td>Pointer to the send buffer. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>Number of bytes to be sent.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if everything went well.</li>
<li>XST_FAILURE if master sends us data or master terminates the transfer before all data has sent out.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This send routine is for polled mode transfer only. </dd></dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="struct_x_iic_ps.html#a8389c1e544dbd75be37037ae383af746">XIicPs::IsReady</a>, <a class="el" href="struct_x_iic_ps.html#a1c30cf304f4d4b7cefa2033417897c9e">XIicPs::SendBufferPtr</a>, <a class="el" href="struct_x_iic_ps.html#a28612c566c7d966ba2dec88e1a3db1d7">XIicPs::SendByteCount</a>, <a class="el" href="group__iicps__api.html#ga9ec604e5ed330606d24a082484e905f0">XIICPS_ISR_OFFSET</a>, <a class="el" href="group__iicps__api.html#ga56fefd834bba9cc03c0a84bd2a3e099a">XIICPS_IXR_COMP_MASK</a>, <a class="el" href="group__iicps__api.html#ga74650276000c8cc48cce610b8c6d2140">XIICPS_IXR_NACK_MASK</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga479fe9cf74b161f574917ec20852ad1c">XIicPs_SendByte</a>, <a class="el" href="group__iicps__api.html#ga12b4d0ee4dce6172ba78a0dec5666a72">XIICPS_SR_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xiicps__polled__slave__example_8c.html#a3d212c39e3b863301ad32ea6e0326001">IicPsSlavePolledExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6767d795533c56b3bc6ad08354c3acb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPsSclHold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables/Disables clock stretching (SCL HOLD). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
    <tr><td class="paramname">Enable</td><td>Value to enable/disable clock stretching (SCL HOLD). 1 to Enable 0 to Disable </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="group__iicps__api.html#ga0c96ab97015c857822df599608ba9c10">XIICPS_CR_OFFSET</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga69c3112248f1ef2bda7a07f7724bcde9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XIicPsSetTimeOut </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_iic_ps.html">XIicPs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the timeout value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_iic_ps.html" title="The XIicPs driver instance data. ">XIicPs</a> instance.</td></tr>
    <tr><td class="paramname">Value</td><td>Timeout value. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct_x_iic_ps___config.html#a2bdee49f560d4a22a433c6c327d6d912">XIicPs_Config::BaseAddress</a>, <a class="el" href="struct_x_iic_ps.html#a0712c6574001a0661192db4d448daff5">XIicPs::Config</a>, <a class="el" href="group__iicps__api.html#gabcc20fce80c1e8dff27be4e584c2cc27">XIicPs_ReadReg</a>, <a class="el" href="group__iicps__api.html#ga61f5015241d07352f5cad00c589ec4e0">XIICPS_TIME_OUT_OFFSET</a>, and <a class="el" href="group__iicps__api.html#gaa0bde6894589023ea8248a9d9cdc73c5">XIicPs_WriteReg</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga11a983ef1b7318339618ff352e81bb2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> XIicPs_ConfigTable[XPAR_XIICPS_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">        {</div>
<div class="line">                 (u16)XPAR_XIICPS_0_DEVICE_ID, </div>
<div class="line">                 (u32)XPAR_XIICPS_0_BASEADDR,  </div>
<div class="line">                 (u32)XPAR_XIICPS_0_I2C_CLK_FREQ_HZ  </div>
<div class="line">        },</div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line">}</div>
</div><!-- fragment -->
<p>This table contains configuration information for each IIC device in the system. </p>
<p>Configuration table. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga14c7ff4f51185d8aab0028c0eeb3c336">XIicPs_LookupConfig()</a>.</p>

</div>
</div>
<a class="anchor" id="ga549d334ca8efcb3b3152a86807dea92d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_iic_ps___config.html">XIicPs_Config</a> XIicPs_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configuration table. </p>
<p>Configuration table. </p>

<p>Referenced by <a class="el" href="group__iicps__api.html#ga14c7ff4f51185d8aab0028c0eeb3c336">XIicPs_LookupConfig()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
